[INFO] cloning repository https://github.com/nnam-di/hands-on
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nnam-di/hands-on" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnnam-di%2Fhands-on", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnnam-di%2Fhands-on'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a373349adb890531b5a03c882d5739e42f037849
[INFO] fixing nnam-di/hands-on against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnnam-di%2Fhands-on" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/nnam-di/hands-on
[INFO] finished tweaking git repo https://github.com/nnam-di/hands-on
[INFO] tweaked toml for git repo https://github.com/nnam-di/hands-on written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nnam-di/hands-on on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nnam-di/hands-on already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0ae8ed44ba5da27456dc280f6eadd4bea47e107aa66badd31a52560e51c7fa3f
[INFO] running `Command { std: "docker" "start" "0ae8ed44ba5da27456dc280f6eadd4bea47e107aa66badd31a52560e51c7fa3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0ae8ed44ba5da27456dc280f6eadd4bea47e107aa66badd31a52560e51c7fa3f" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0ae8ed44ba5da27456dc280f6eadd4bea47e107aa66badd31a52560e51c7fa3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0ae8ed44ba5da27456dc280f6eadd4bea47e107aa66badd31a52560e51c7fa3f" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   bytes v1.1.0 (as host dependency) removed features: default, std
[INFO] [stderr]   indexmap v1.7.0 (as host dependency) removed features: std
[INFO] [stderr]   libc v0.2.103 (as host dependency) removed features: extra_traits
[INFO] [stderr]   log v0.4.14 (as host dependency) removed features: std
[INFO] [stderr]   memchr v2.4.1 (as host dependency) removed features: use_std
[INFO] [stderr]   num-traits v0.2.14 removed features: libm
[INFO] [stderr]   prost v0.9.0 (as host dependency) removed features: default, std
[INFO] [stderr]   regex v1.5.4 removed features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
[INFO] [stderr]   regex-syntax v0.6.25 removed features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
[INFO] [stderr]   tokio v1.12.0 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]    Compiling libc v0.2.103
[INFO] [stderr]    Compiling proc-macro2 v1.0.29
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling syn v1.0.78
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]    Compiling futures-core v0.3.17
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]     Checking opaque-debug v0.3.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]     Checking cpufeatures v0.2.1
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.10
[INFO] [stderr]     Checking futures-sink v0.3.17
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling anyhow v1.0.44
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]     Checking instant v0.1.11
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.17
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking smallvec v1.7.0
[INFO] [stderr]    Compiling futures-channel v0.3.17
[INFO] [stderr]    Compiling futures-task v0.3.17
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking http v0.2.5
[INFO] [stderr]     Checking lock_api v0.4.5
[INFO] [stderr]    Compiling tokio v1.12.0
[INFO] [stderr]    Compiling futures-util v0.3.17
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling radium v0.6.2
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling itertools v0.10.1
[INFO] [stderr]     Checking tinyvec_macros v0.1.0
[INFO] [stderr]     Checking slab v0.4.4
[INFO] [stderr]     Checking futures-io v0.3.17
[INFO] [stderr]    Compiling httparse v1.5.1
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]     Checking tinyvec v1.5.0
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking wyz v0.2.0
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking funty v1.1.0
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]     Checking const-oid v0.5.2
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking der v0.3.5
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking bitvec v0.20.4
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking mio v0.7.13
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling which v4.2.2
[INFO] [stderr]     Checking unicode-bidi v0.3.6
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling prost-build v0.9.0
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking spki v0.3.0
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]     Checking crypto-mac v0.11.1
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]     Checking tracing-core v0.1.21
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling cc v1.0.70
[INFO] [stderr]    Compiling fixedbitset v0.4.0
[INFO] [stderr]     Checking tracing v0.1.28
[INFO] [stderr]     Checking hmac v0.11.0
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking pkcs8 v0.6.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking universal-hash v0.4.1
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]     Checking input_buffer v0.4.0
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling nix v0.17.0
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]    Compiling build_const v0.2.2
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]    Compiling petgraph v0.6.0
[INFO] [stderr]    Compiling serde_json v1.0.68
[INFO] [stderr]     Checking try-lock v0.2.3
[INFO] [stderr]     Checking buf_redux v0.8.4
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking polyval v0.5.3
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]    Compiling crc v1.8.1
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking http-body v0.4.3
[INFO] [stderr]     Checking signature v1.3.1
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking socket2 v0.4.2
[INFO] [stderr]     Checking twoway v0.1.8
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking httpdate v1.0.1
[INFO] [stderr]     Checking ff v0.9.0
[INFO] [stderr]     Checking group v0.9.0
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking tungstenite v0.12.0
[INFO] [stderr]     Checking tower-service v0.3.1
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking headers v0.3.4
[INFO] [stderr]     Checking ghash v0.4.4
[INFO] [stderr]     Checking aes v0.7.5
[INFO] [stderr]     Checking ctr v0.8.0
[INFO] [stderr]     Checking sha2 v0.9.8
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking aead v0.4.3
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking nix v0.20.2
[INFO] [stderr]     Checking yasna v0.4.0
[INFO] [stderr]     Checking aes-gcm v0.9.4
[INFO] [stderr]     Checking hkdf v0.11.0
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking rand_distr v0.4.2
[INFO] [stderr]     Checking unzip3 v1.0.0
[INFO] [stderr]    Compiling hex-literal v0.3.3
[INFO] [stderr]     Checking mock_instant v0.2.1
[INFO] [stderr]     Checking multipart v0.17.1
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking pem v0.8.3
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]    Compiling tokio-macros v1.4.1
[INFO] [stderr]    Compiling zeroize_derive v1.2.2
[INFO] [stderr]    Compiling prost-derive v0.9.0
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling thiserror-impl v1.0.29
[INFO] [stderr]    Compiling structopt-derive v0.4.16
[INFO] [stderr]    Compiling async-stream-impl v0.3.2
[INFO] [stderr]     Checking zeroize v1.4.3
[INFO] [stderr]     Checking elliptic-curve v0.9.12
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking async-stream v0.3.2
[INFO] [stderr]     Checking thiserror v1.0.29
[INFO] [stderr]     Checking pin-project v1.0.8
[INFO] [stderr]     Checking ecdsa v0.11.1
[INFO] [stderr]     Checking psutil v3.2.1
[INFO] [stderr]    Compiling prost v0.9.0
[INFO] [stderr]     Checking p256 v0.8.1
[INFO] [stderr]     Checking structopt v0.3.23
[INFO] [stderr]    Compiling prost-types v0.9.0
[INFO] [stderr]     Checking x25519-dalek v1.1.1
[INFO] [stderr]     Checking rcgen v0.8.13
[INFO] [stderr]     Checking futures-executor v0.3.17
[INFO] [stderr]    Compiling calling_server v1.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating build.rs from 2018 edition to 2021
[INFO] [stderr]     Checking futures v0.3.17
[INFO] [stderr]     Checking tokio-util v0.6.8
[INFO] [stderr]     Checking tokio-tungstenite v0.13.0
[INFO] [stderr]     Checking h2 v0.3.6
[INFO] [stderr]     Checking tokio-stream v0.1.7
[INFO] [stderr]     Checking serde_urlencoded v0.7.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking hyper v0.14.13
[INFO] [stderr]     Checking warp v0.3.1
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating src/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.92s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr] crater-edition-check: calling_server v1.3.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling libc v0.2.103
[INFO] [stderr]    Compiling tokio v1.12.0
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling bytes v1.1.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]    Compiling prost v0.9.0
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling prost-types v0.9.0
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling which v4.2.2
[INFO] [stderr]    Compiling petgraph v0.6.0
[INFO] [stderr]    Compiling prost-build v0.9.0
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]     Checking pem v0.8.3
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stderr]     Checking rcgen v0.8.13
[INFO] [stderr]    Compiling calling_server v1.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking tokio-util v0.6.8
[INFO] [stderr]     Checking tokio-tungstenite v0.13.0
[INFO] [stderr]     Checking h2 v0.3.6
[INFO] [stderr]     Checking tokio-stream v0.1.7
[INFO] [stderr]     Checking hyper v0.14.13
[INFO] [stderr]     Checking warp v0.3.1
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/dtls.rs:533:11
[INFO] [stdout]     |
[INFO] [stdout] 533 |     #[cfg(fuzzing)]
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/dtls.rs:422:39
[INFO] [stdout]     |
[INFO] [stdout] 422 | ...                   #[cfg(not(fuzzing))]
[INFO] [stdout]     |                                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/ice.rs:246:11
[INFO] [stdout]     |
[INFO] [stdout] 246 |     #[cfg(fuzzing)]
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:811:7
[INFO] [stdout]     |
[INFO] [stdout] 811 | #[cfg(fuzzing)]
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:816:7
[INFO] [stdout]     |
[INFO] [stdout] 816 | #[cfg(fuzzing)]
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]     --> src/rtp.rs:1021:7
[INFO] [stdout]      |
[INFO] [stdout] 1021 | #[cfg(fuzzing)]
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: consider using a Cargo feature instead
[INFO] [stdout]      = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]               [lints.rust]
[INFO] [stdout]               unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]      = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:922:23
[INFO] [stdout]     |
[INFO] [stdout] 922 |             #[cfg(not(fuzzing))]
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `*`
[INFO] [stdout]    --> src/metrics/macros.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         *,
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/dtls.rs:533:11
[INFO] [stdout]     |
[INFO] [stdout] 533 |     #[cfg(fuzzing)]
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/dtls.rs:422:39
[INFO] [stdout]     |
[INFO] [stdout] 422 | ...                   #[cfg(not(fuzzing))]
[INFO] [stdout]     |                                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/ice.rs:246:11
[INFO] [stdout]     |
[INFO] [stdout] 246 |     #[cfg(fuzzing)]
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:811:7
[INFO] [stdout]     |
[INFO] [stdout] 811 | #[cfg(fuzzing)]
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:816:7
[INFO] [stdout]     |
[INFO] [stdout] 816 | #[cfg(fuzzing)]
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]     --> src/rtp.rs:1021:7
[INFO] [stdout]      |
[INFO] [stdout] 1021 | #[cfg(fuzzing)]
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: consider using a Cargo feature instead
[INFO] [stdout]      = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]               [lints.rust]
[INFO] [stdout]               unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]      = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:922:23
[INFO] [stdout]     |
[INFO] [stdout] 922 |             #[cfg(not(fuzzing))]
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `last` is never used
[INFO] [stdout]   --> src/googcc/stream.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait StreamExt: futures::StreamExt {
[INFO] [stdout]    |           --------- method in this trait
[INFO] [stdout] 30 |     fn last(self) -> Last<Self>
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/metrics/datadog_statsd.rs:261:21
[INFO] [stdout]     |
[INFO] [stdout] 261 |     pub fn pipeline(&mut self) -> Client<PipelineSink<E>> {
[INFO] [stdout]     |                     ^^^^^^^^^            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     pub fn pipeline(&mut self) -> Client<PipelineSink<'_, E>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/metrics/datadog_statsd.rs:269:36
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub fn pipeline_client_of_size(&mut self, max_udp_size: usize) -> Client<PipelineSink<E>> {
[INFO] [stdout]     |                                    ^^^^^^^^^ the lifetime is elided here     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub fn pipeline_client_of_size(&mut self, max_udp_size: usize) -> Client<PipelineSink<'_, E>> {
[INFO] [stdout]     |                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:37:42
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn read_u16_len_prefixed_u16s(input: &[u8]) -> ReadOption<Vec<u16>> {
[INFO] [stdout]    |                                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn read_u16_len_prefixed_u16s(input: &[u8]) -> ReadOption<'_, Vec<u16>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:43:37
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn read_u24_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> {
[INFO] [stdout]    |                                     ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                     |         |          |
[INFO] [stdout]    |                                     |         |          the same lifetime is elided here
[INFO] [stdout]    |                                     |         the same lifetime is hidden here
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn read_u24_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:49:37
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn read_u16_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> {
[INFO] [stdout]    |                                     ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                     |         |          |
[INFO] [stdout]    |                                     |         |          the same lifetime is elided here
[INFO] [stdout]    |                                     |         the same lifetime is hidden here
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn read_u16_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:55:36
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn read_u8_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> {
[INFO] [stdout]    |                                    ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                    |         |          |
[INFO] [stdout]    |                                    |         |          the same lifetime is elided here
[INFO] [stdout]    |                                    |         the same lifetime is hidden here
[INFO] [stdout]    |                                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn read_u8_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn read_u48(input: &[u8]) -> ReadOption<U48> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn read_u48(input: &[u8]) -> ReadOption<'_, U48> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn read_u32(input: &[u8]) -> ReadOption<u32> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn read_u32(input: &[u8]) -> ReadOption<'_, u32> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn read_u24(input: &[u8]) -> ReadOption<U24> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn read_u24(input: &[u8]) -> ReadOption<'_, U24> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:76:24
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn read_u16(input: &[u8]) -> ReadOption<u16> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn read_u16(input: &[u8]) -> ReadOption<'_, u16> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn read_i16(input: &[u8]) -> ReadOption<i16> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn read_i16(input: &[u8]) -> ReadOption<'_, i16> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn read_u8(input: &[u8]) -> ReadOption<u8> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn read_u8(input: &[u8]) -> ReadOption<'_, u8> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/common.rs:119:26
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn read_bytes(input: &[u8], len: usize) -> ReadOption<&[u8]> {
[INFO] [stdout]     |                          ^^^^^                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |                     |          |
[INFO] [stdout]     |                          |                     |          the same lifetime is elided here
[INFO] [stdout]     |                          |                     the same lifetime is hidden here
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn read_bytes(input: &[u8], len: usize) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/common.rs:125:29
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn read_from_end(input: &[u8], len: usize) -> ReadOption<&[u8]> {
[INFO] [stdout]     |                             ^^^^^                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |                     |          |
[INFO] [stdout]     |                             |                     |          the same lifetime is elided here
[INFO] [stdout]     |                             |                     the same lifetime is hidden here
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn read_from_end(input: &[u8], len: usize) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:615:34
[INFO] [stdout]     |
[INFO] [stdout] 615 | fn read_client_hello_body(input: &[u8]) -> ReadOption<[u8; HELLO_RANDOM_LEN]> {
[INFO] [stdout]     |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 615 | fn read_client_hello_body(input: &[u8]) -> ReadOption<'_, [u8; HELLO_RANDOM_LEN]> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:750:32
[INFO] [stdout]     |
[INFO] [stdout] 750 | fn read_hello_extension(input: &[u8]) -> ReadOption<(u16, &[u8])> {
[INFO] [stdout]     |                                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |         |                |
[INFO] [stdout]     |                                |         |                the same lifetime is elided here
[INFO] [stdout]     |                                |         the same lifetime is hidden here
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 750 | fn read_hello_extension(input: &[u8]) -> ReadOption<'_, (u16, &[u8])> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:795:35
[INFO] [stdout]     |
[INFO] [stdout] 795 | fn read_certificate_record(input: &[u8]) -> ReadOption<(Sha256, VerifyingKey, &[u8])> {
[INFO] [stdout]     |                                   ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |         |                                 |
[INFO] [stdout]     |                                   |         |                                 the same lifetime is elided here
[INFO] [stdout]     |                                   |         the same lifetime is hidden here
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 795 | fn read_certificate_record(input: &[u8]) -> ReadOption<'_, (Sha256, VerifyingKey, &[u8])> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:863:43
[INFO] [stdout]     |
[INFO] [stdout] 863 | fn read_client_key_exchange_record(input: &[u8]) -> ReadOption<(PublicKey, &[u8])> {
[INFO] [stdout]     |                                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |         |                      |
[INFO] [stdout]     |                                           |         |                      the same lifetime is elided here
[INFO] [stdout]     |                                           |         the same lifetime is hidden here
[INFO] [stdout]     |                                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 863 | fn read_client_key_exchange_record(input: &[u8]) -> ReadOption<'_, (PublicKey, &[u8])> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:889:42
[INFO] [stdout]     |
[INFO] [stdout] 889 | fn read_certificate_verify_record(input: &[u8]) -> ReadOption<(Signature, &[u8])> {
[INFO] [stdout]     |                                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |         |                      |
[INFO] [stdout]     |                                          |         |                      the same lifetime is elided here
[INFO] [stdout]     |                                          |         the same lifetime is hidden here
[INFO] [stdout]     |                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 889 | fn read_certificate_verify_record(input: &[u8]) -> ReadOption<'_, (Signature, &[u8])> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:924:33
[INFO] [stdout]     |
[INFO] [stdout] 924 | fn read_handshake_record(input: &[u8]) -> ReadOption<&[u8]> {
[INFO] [stdout]     |                                 ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |         |          |
[INFO] [stdout]     |                                 |         |          the same lifetime is elided here
[INFO] [stdout]     |                                 |         the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 924 | fn read_handshake_record(input: &[u8]) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:937:42
[INFO] [stdout]     |
[INFO] [stdout] 937 | fn read_change_cipher_spec_record(input: &[u8]) -> ReadOption<&[u8]> {
[INFO] [stdout]     |                                          ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |         |          |
[INFO] [stdout]     |                                          |         |          the same lifetime is elided here
[INFO] [stdout]     |                                          |         the same lifetime is hidden here
[INFO] [stdout]     |                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 937 | fn read_change_cipher_spec_record(input: &[u8]) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dtls.rs:1085:23
[INFO] [stdout]      |
[INFO] [stdout] 1085 | fn read_record(input: &[u8]) -> ReadOption<(u16, U48, RecordType, &[u8])> {
[INFO] [stdout]      |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |         |                                 |
[INFO] [stdout]      |                       |         |                                 the same lifetime is elided here
[INFO] [stdout]      |                       |         the same lifetime is hidden here
[INFO] [stdout]      |                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1085 | fn read_record(input: &[u8]) -> ReadOption<'_, (u16, U48, RecordType, &[u8])> {
[INFO] [stdout]      |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dtls.rs:1129:34
[INFO] [stdout]      |
[INFO] [stdout] 1129 | fn read_handshake_message(input: &[u8]) -> ReadOption<(HandshakeMessageType, &[u8])> {
[INFO] [stdout]      |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                  |         |                                 |
[INFO] [stdout]      |                                  |         |                                 the same lifetime is elided here
[INFO] [stdout]      |                                  |         the same lifetime is hidden here
[INFO] [stdout]      |                                  the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1129 | fn read_handshake_message(input: &[u8]) -> ReadOption<'_, (HandshakeMessageType, &[u8])> {
[INFO] [stdout]      |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ice.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn verify_hmac(&self, pwd: &[u8]) -> Result<VerifiedBindingRequest, MacError> {
[INFO] [stdout]     |                        ^^^^^                        ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn verify_hmac(&self, pwd: &[u8]) -> Result<VerifiedBindingRequest<'_>, MacError> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/metrics/datadog_statsd.rs:261:21
[INFO] [stdout]     |
[INFO] [stdout] 261 |     pub fn pipeline(&mut self) -> Client<PipelineSink<E>> {
[INFO] [stdout]     |                     ^^^^^^^^^            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 261 |     pub fn pipeline(&mut self) -> Client<PipelineSink<'_, E>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/metrics/datadog_statsd.rs:269:36
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub fn pipeline_client_of_size(&mut self, max_udp_size: usize) -> Client<PipelineSink<E>> {
[INFO] [stdout]     |                                    ^^^^^^^^^ the lifetime is elided here     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 269 |     pub fn pipeline_client_of_size(&mut self, max_udp_size: usize) -> Client<PipelineSink<'_, E>> {
[INFO] [stdout]     |                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:37:42
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn read_u16_len_prefixed_u16s(input: &[u8]) -> ReadOption<Vec<u16>> {
[INFO] [stdout]    |                                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                          |
[INFO] [stdout]    |                                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn read_u16_len_prefixed_u16s(input: &[u8]) -> ReadOption<'_, Vec<u16>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:43:37
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn read_u24_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> {
[INFO] [stdout]    |                                     ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                     |         |          |
[INFO] [stdout]    |                                     |         |          the same lifetime is elided here
[INFO] [stdout]    |                                     |         the same lifetime is hidden here
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn read_u24_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:49:37
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn read_u16_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> {
[INFO] [stdout]    |                                     ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                     |         |          |
[INFO] [stdout]    |                                     |         |          the same lifetime is elided here
[INFO] [stdout]    |                                     |         the same lifetime is hidden here
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn read_u16_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:55:36
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn read_u8_len_prefixed(input: &[u8]) -> ReadOption<&[u8]> {
[INFO] [stdout]    |                                    ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                    |         |          |
[INFO] [stdout]    |                                    |         |          the same lifetime is elided here
[INFO] [stdout]    |                                    |         the same lifetime is hidden here
[INFO] [stdout]    |                                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn read_u8_len_prefixed(input: &[u8]) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn read_u48(input: &[u8]) -> ReadOption<U48> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn read_u48(input: &[u8]) -> ReadOption<'_, U48> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn read_u32(input: &[u8]) -> ReadOption<u32> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn read_u32(input: &[u8]) -> ReadOption<'_, u32> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn read_u24(input: &[u8]) -> ReadOption<U24> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn read_u24(input: &[u8]) -> ReadOption<'_, U24> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:76:24
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn read_u16(input: &[u8]) -> ReadOption<u16> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn read_u16(input: &[u8]) -> ReadOption<'_, u16> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn read_i16(input: &[u8]) -> ReadOption<i16> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn read_i16(input: &[u8]) -> ReadOption<'_, i16> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/common.rs:86:23
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn read_u8(input: &[u8]) -> ReadOption<u8> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn read_u8(input: &[u8]) -> ReadOption<'_, u8> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/common.rs:119:26
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn read_bytes(input: &[u8], len: usize) -> ReadOption<&[u8]> {
[INFO] [stdout]     |                          ^^^^^                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |                     |          |
[INFO] [stdout]     |                          |                     |          the same lifetime is elided here
[INFO] [stdout]     |                          |                     the same lifetime is hidden here
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn read_bytes(input: &[u8], len: usize) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/common.rs:125:29
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn read_from_end(input: &[u8], len: usize) -> ReadOption<&[u8]> {
[INFO] [stdout]     |                             ^^^^^                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |                     |          |
[INFO] [stdout]     |                             |                     |          the same lifetime is elided here
[INFO] [stdout]     |                             |                     the same lifetime is hidden here
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn read_from_end(input: &[u8], len: usize) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:615:34
[INFO] [stdout]     |
[INFO] [stdout] 615 | fn read_client_hello_body(input: &[u8]) -> ReadOption<[u8; HELLO_RANDOM_LEN]> {
[INFO] [stdout]     |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 615 | fn read_client_hello_body(input: &[u8]) -> ReadOption<'_, [u8; HELLO_RANDOM_LEN]> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:750:32
[INFO] [stdout]     |
[INFO] [stdout] 750 | fn read_hello_extension(input: &[u8]) -> ReadOption<(u16, &[u8])> {
[INFO] [stdout]     |                                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |         |                |
[INFO] [stdout]     |                                |         |                the same lifetime is elided here
[INFO] [stdout]     |                                |         the same lifetime is hidden here
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 750 | fn read_hello_extension(input: &[u8]) -> ReadOption<'_, (u16, &[u8])> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:795:35
[INFO] [stdout]     |
[INFO] [stdout] 795 | fn read_certificate_record(input: &[u8]) -> ReadOption<(Sha256, VerifyingKey, &[u8])> {
[INFO] [stdout]     |                                   ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |         |                                 |
[INFO] [stdout]     |                                   |         |                                 the same lifetime is elided here
[INFO] [stdout]     |                                   |         the same lifetime is hidden here
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 795 | fn read_certificate_record(input: &[u8]) -> ReadOption<'_, (Sha256, VerifyingKey, &[u8])> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:863:43
[INFO] [stdout]     |
[INFO] [stdout] 863 | fn read_client_key_exchange_record(input: &[u8]) -> ReadOption<(PublicKey, &[u8])> {
[INFO] [stdout]     |                                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |         |                      |
[INFO] [stdout]     |                                           |         |                      the same lifetime is elided here
[INFO] [stdout]     |                                           |         the same lifetime is hidden here
[INFO] [stdout]     |                                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 863 | fn read_client_key_exchange_record(input: &[u8]) -> ReadOption<'_, (PublicKey, &[u8])> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:889:42
[INFO] [stdout]     |
[INFO] [stdout] 889 | fn read_certificate_verify_record(input: &[u8]) -> ReadOption<(Signature, &[u8])> {
[INFO] [stdout]     |                                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |         |                      |
[INFO] [stdout]     |                                          |         |                      the same lifetime is elided here
[INFO] [stdout]     |                                          |         the same lifetime is hidden here
[INFO] [stdout]     |                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 889 | fn read_certificate_verify_record(input: &[u8]) -> ReadOption<'_, (Signature, &[u8])> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:924:33
[INFO] [stdout]     |
[INFO] [stdout] 924 | fn read_handshake_record(input: &[u8]) -> ReadOption<&[u8]> {
[INFO] [stdout]     |                                 ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |         |          |
[INFO] [stdout]     |                                 |         |          the same lifetime is elided here
[INFO] [stdout]     |                                 |         the same lifetime is hidden here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 924 | fn read_handshake_record(input: &[u8]) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/dtls.rs:937:42
[INFO] [stdout]     |
[INFO] [stdout] 937 | fn read_change_cipher_spec_record(input: &[u8]) -> ReadOption<&[u8]> {
[INFO] [stdout]     |                                          ^^^^^     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |         |          |
[INFO] [stdout]     |                                          |         |          the same lifetime is elided here
[INFO] [stdout]     |                                          |         the same lifetime is hidden here
[INFO] [stdout]     |                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 937 | fn read_change_cipher_spec_record(input: &[u8]) -> ReadOption<'_, &[u8]> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dtls.rs:1085:23
[INFO] [stdout]      |
[INFO] [stdout] 1085 | fn read_record(input: &[u8]) -> ReadOption<(u16, U48, RecordType, &[u8])> {
[INFO] [stdout]      |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |         |                                 |
[INFO] [stdout]      |                       |         |                                 the same lifetime is elided here
[INFO] [stdout]      |                       |         the same lifetime is hidden here
[INFO] [stdout]      |                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1085 | fn read_record(input: &[u8]) -> ReadOption<'_, (u16, U48, RecordType, &[u8])> {
[INFO] [stdout]      |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/dtls.rs:1129:34
[INFO] [stdout]      |
[INFO] [stdout] 1129 | fn read_handshake_message(input: &[u8]) -> ReadOption<(HandshakeMessageType, &[u8])> {
[INFO] [stdout]      |                                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                  |         |                                 |
[INFO] [stdout]      |                                  |         |                                 the same lifetime is elided here
[INFO] [stdout]      |                                  |         the same lifetime is hidden here
[INFO] [stdout]      |                                  the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1129 | fn read_handshake_message(input: &[u8]) -> ReadOption<'_, (HandshakeMessageType, &[u8])> {
[INFO] [stdout]      |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ice.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn verify_hmac(&self, pwd: &[u8]) -> Result<VerifiedBindingRequest, MacError> {
[INFO] [stdout]     |                        ^^^^^                        ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn verify_hmac(&self, pwd: &[u8]) -> Result<VerifiedBindingRequest<'_>, MacError> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   bytes v1.1.0 (as host dependency) removed features: default, std
[INFO] [stderr]   indexmap v1.7.0 (as host dependency) removed features: std
[INFO] [stderr]   libc v0.2.103 (as host dependency) removed features: extra_traits
[INFO] [stderr]   log v0.4.14 (as host dependency) removed features: std
[INFO] [stderr]   memchr v2.4.1 (as host dependency) removed features: use_std
[INFO] [stderr]   num-traits v0.2.14 removed features: libm
[INFO] [stderr]   prost v0.9.0 (as host dependency) removed features: default, std
[INFO] [stderr]   regex v1.5.4 removed features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
[INFO] [stderr]   regex-syntax v0.6.25 removed features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
[INFO] [stderr]   tokio v1.12.0 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr]     Checking calling_server v1.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/http_server.rs (2 fixes)
[INFO] [stderr]        Fixed src/sfu.rs (2 fixes)
[INFO] [stderr]        Fixed src/transportcc.rs (1 fix)
[INFO] [stderr]        Fixed src/common/collections/two_generation_cache.rs (1 fix)
[INFO] [stderr]        Fixed src/common.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/udp_server.rs:107:33
[INFO] [stdout]     |
[INFO] [stdout] 104 |             tokio::time::sleep(tick_interval.into()).await;
[INFO] [stdout]     |             ----------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |             let tick_output = { sfu_for_tick.lock().tick(Instant::now()) };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |                 Err(err) => {
[INFO] [stdout]     |                     ---
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `err` calls a custom destructor
[INFO] [stdout]     |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/metrics/macros.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let _t = reporter!($name, $options).start_timer();
[INFO] [stdout]     |             --
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_t` calls a custom destructor
[INFO] [stdout]     |             `_t` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/mutex.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/time/driver/entry.rs:620:1
[INFO] [stdout]     |
[INFO] [stdout] 620 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/udp_server.rs:110:19
[INFO] [stdout]     |
[INFO] [stdout] 110 |             match udp_handler_state_for_tick.tick(tick_output, &mut tick_state) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/metrics/macros.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let _t = reporter!($name, $options).start_timer();
[INFO] [stdout]     |             --
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_t` calls a custom destructor
[INFO] [stdout]     |             `_t` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/googcc/stream.rs:127:27
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 let mut last_val = None;
[INFO] [stdout]     |                     ------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `last_val` calls a custom destructor
[INFO] [stdout]     |                     `last_val` will be dropped later as of Edition 2024
[INFO] [stdout] 126 |                 loop {
[INFO] [stdout] 127 |                     match inner.as_mut().poll_next(cx) {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 143 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/metrics/macros.rs (19 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/sfu.rs:499:21
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 if let Some(outgoing_connection) =
[INFO] [stdout]     |                             -------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `outgoing_connection` calls a custom destructor
[INFO] [stdout]     |                             `outgoing_connection` will be dropped later as of Edition 2024
[INFO] [stdout] 499 |                     sfu.lock().get_connection_from_id(&outgoing_connection_id)
[INFO] [stdout]     |                     ----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 500 |                 {
[INFO] [stdout] 501 |                     let mut outgoing_connection = outgoing_connection.lock();
[INFO] [stdout]     |                         -----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 509 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/metrics/macros.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let _t = reporter!($name, $options).start_timer();
[INFO] [stdout]     |             --
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_t` calls a custom destructor
[INFO] [stdout]     |             `_t` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.17/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.9.12/src/ecdh.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | / impl<C> Drop for EphemeralSecret<C>
[INFO] [stdout] 159 | | where
[INFO] [stdout] 160 | |     C: Curve + ProjectiveArithmetic,
[INFO] [stdout] 161 | |     Scalar<C>: PrimeField<Repr = FieldBytes<C>> + Zeroize,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/mutex.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `outgoing_connection` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.17/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.9.12/src/ecdh.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | / impl<C> Drop for EphemeralSecret<C>
[INFO] [stdout] 159 | | where
[INFO] [stdout] 160 | |     C: Curve + ProjectiveArithmetic,
[INFO] [stdout] 161 | |     Scalar<C>: PrimeField<Repr = FieldBytes<C>> + Zeroize,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/mutex.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/sfu.rs:565:21
[INFO] [stdout]     |
[INFO] [stdout] 564 |                 if let Some(outgoing_connection) =
[INFO] [stdout]     |                             -------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `outgoing_connection` calls a custom destructor
[INFO] [stdout]     |                             `outgoing_connection` will be dropped later as of Edition 2024
[INFO] [stdout] 565 |                     sfu.lock().get_connection_from_id(&outgoing_connection_id)
[INFO] [stdout]     |                     ----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 566 |                 {
[INFO] [stdout] 567 |                     let mut outgoing_connection = outgoing_connection.lock();
[INFO] [stdout]     |                         -----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 577 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/metrics/macros.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let _t = reporter!($name, $options).start_timer();
[INFO] [stdout]     |             --
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_t` calls a custom destructor
[INFO] [stdout]     |             `_t` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.17/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.9.12/src/ecdh.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | / impl<C> Drop for EphemeralSecret<C>
[INFO] [stdout] 159 | | where
[INFO] [stdout] 160 | |     C: Curve + ProjectiveArithmetic,
[INFO] [stdout] 161 | |     Scalar<C>: PrimeField<Repr = FieldBytes<C>> + Zeroize,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/mutex.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `outgoing_connection` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.17/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.9.12/src/ecdh.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | / impl<C> Drop for EphemeralSecret<C>
[INFO] [stdout] 159 | | where
[INFO] [stdout] 160 | |     C: Curve + ProjectiveArithmetic,
[INFO] [stdout] 161 | |     Scalar<C>: PrimeField<Repr = FieldBytes<C>> + Zeroize,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/mutex.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/udp_server/epoll.rs:356:43
[INFO] [stdout]      |
[INFO] [stdout]  179 |                   let connections_lock = self.all_connections.read();
[INFO] [stdout]      |                       ----------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `connections_lock` calls a custom destructor
[INFO] [stdout]      |                       `connections_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  223 |                                           let mut write_lock = self.all_connections.write();
[INFO] [stdout]      |                                               --------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               `write_lock` calls a custom destructor
[INFO] [stdout]      |                                               `write_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  234 |                                           write_lock.mark_closed(&addr);
[INFO] [stdout]      |                                           -----------------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  293 |                       let connections_lock = self.all_connections.read();
[INFO] [stdout]      |                           ----------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  307 |                                       let mut write_lock = self.all_connections.write();
[INFO] [stdout]      |                                           --------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 |                                       write_lock.mark_closed(&addr);
[INFO] [stdout]      |                                       -----------------------------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  331 |                               let mut write_lock = self.all_connections.write();
[INFO] [stdout]      |                                   --------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  345 |                                               write_lock.mark_closed(&addr);
[INFO] [stdout]      |                                               -----------------------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  356 |                                       match try_scoped(|| {
[INFO] [stdout]      |  ___________________________________________^
[INFO] [stdout]  357 | |                                         let client_socket =
[INFO] [stdout]  358 | |                                             Self::open_socket_with_reusable_port(&self.local_addr)?;
[INFO] [stdout]  359 | |                                         client_socket.connect(addr)?;
[INFO] [stdout]  360 | |                                         self.add_socket_to_poll_for_reads(&client_socket)?;
[INFO] [stdout]  361 | |                                         Ok(client_socket)
[INFO] [stdout]  362 | |                                     }) {
[INFO] [stdout]      | |                                      ^
[INFO] [stdout]      | |                                      |
[INFO] [stdout]      | |______________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  370 |                                           Err(e) => {
[INFO] [stdout]      |                                               -
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               `e` calls a custom destructor
[INFO] [stdout]      |                                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  374 |                                   }
[INFO] [stdout]      |                                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/metrics/macros.rs:184:13
[INFO] [stdout]      |
[INFO] [stdout]  184 |           let _t = reporter!($name, $options).start_timer();
[INFO] [stdout]      |               --
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `_t` calls a custom destructor
[INFO] [stdout]      |               `_t` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]      |
[INFO] [stdout]  565 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connections_lock` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `write_lock` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]      |
[INFO] [stdout]  565 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl serialize::Writer` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]     --> src/dtls.rs:1009:6
[INFO] [stdout]      |
[INFO] [stdout] 1009 | ) -> impl Writer {
[INFO] [stdout]      |      ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]     --> src/dtls.rs:1007:10
[INFO] [stdout]      |
[INFO] [stdout] 1007 |     key: &[u8; KEY_LEN],
[INFO] [stdout]      |          ^
[INFO] [stdout]      = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]     --> src/dtls.rs:1006:16
[INFO] [stdout]      |
[INFO] [stdout] 1006 |     plaintext: impl Writer,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]      = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]      |
[INFO] [stdout] 1002 ~ fn write_encrypted_record<T: Writer>(
[INFO] [stdout] 1003 |     epoch: u16,
[INFO] [stdout] 1004 |     seqnum: U48,
[INFO] [stdout] 1005 |     record_type: RecordType,
[INFO] [stdout] 1006 ~     plaintext: T,
[INFO] [stdout] 1007 |     key: &[u8; KEY_LEN],
[INFO] [stdout] 1008 |     salt: [u8; SALT_LEN],
[INFO] [stdout] 1009 ~ ) -> impl Writer + use<T> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl serialize::Writer` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/transportcc.rs:194:27
[INFO] [stdout]     |
[INFO] [stdout] 194 | ) -> impl Iterator<Item = impl Writer> + 'a {
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/transportcc.rs:189:23
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub fn write_feedback<'a>(
[INFO] [stdout]     |                       ^^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/transportcc.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |     arrivals: impl Iterator<Item = (FullSequenceNumber, Instant)> + 'a,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 189 ~ pub fn write_feedback<'a, T: Iterator<Item = (FullSequenceNumber, Instant)> + 'a>(
[INFO] [stdout] 190 |     ssrc: u32,
[INFO] [stdout] 191 |     next_feedback_seqnum: &'a mut u8,
[INFO] [stdout] 192 |     epoch: Instant,
[INFO] [stdout] 193 ~     arrivals: T,
[INFO] [stdout] 194 ~ ) -> impl Iterator<Item = impl Writer + use<T>> + 'a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/udp_server.rs:107:33
[INFO] [stdout]     |
[INFO] [stdout] 104 |             tokio::time::sleep(tick_interval.into()).await;
[INFO] [stdout]     |             ----------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `__awaitee` calls a custom destructor
[INFO] [stdout]     |             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 107 |             let tick_output = { sfu_for_tick.lock().tick(Instant::now()) };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |                 Err(err) => {
[INFO] [stdout]     |                     ---
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `err` calls a custom destructor
[INFO] [stdout]     |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/metrics/macros.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let _t = reporter!($name, $options).start_timer();
[INFO] [stdout]     |             --
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_t` calls a custom destructor
[INFO] [stdout]     |             `_t` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/mutex.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/time/driver/entry.rs:620:1
[INFO] [stdout]     |
[INFO] [stdout] 620 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/udp_server.rs:110:19
[INFO] [stdout]     |
[INFO] [stdout] 110 |             match udp_handler_state_for_tick.tick(tick_output, &mut tick_state) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/metrics/macros.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let _t = reporter!($name, $options).start_timer();
[INFO] [stdout]     |             --
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_t` calls a custom destructor
[INFO] [stdout]     |             `_t` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/googcc/stream.rs:127:27
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 let mut last_val = None;
[INFO] [stdout]     |                     ------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `last_val` calls a custom destructor
[INFO] [stdout]     |                     `last_val` will be dropped later as of Edition 2024
[INFO] [stdout] 126 |                 loop {
[INFO] [stdout] 127 |                     match inner.as_mut().poll_next(cx) {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 143 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/sfu.rs:499:21
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 if let Some(outgoing_connection) =
[INFO] [stdout]     |                             -------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `outgoing_connection` calls a custom destructor
[INFO] [stdout]     |                             `outgoing_connection` will be dropped later as of Edition 2024
[INFO] [stdout] 499 |                     sfu.lock().get_connection_from_id(&outgoing_connection_id)
[INFO] [stdout]     |                     ----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 500 |                 {
[INFO] [stdout] 501 |                     let mut outgoing_connection = outgoing_connection.lock();
[INFO] [stdout]     |                         -----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 509 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/metrics/macros.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let _t = reporter!($name, $options).start_timer();
[INFO] [stdout]     |             --
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_t` calls a custom destructor
[INFO] [stdout]     |             `_t` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.17/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.9.12/src/ecdh.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | / impl<C> Drop for EphemeralSecret<C>
[INFO] [stdout] 159 | | where
[INFO] [stdout] 160 | |     C: Curve + ProjectiveArithmetic,
[INFO] [stdout] 161 | |     Scalar<C>: PrimeField<Repr = FieldBytes<C>> + Zeroize,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/mutex.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `outgoing_connection` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.17/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.9.12/src/ecdh.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | / impl<C> Drop for EphemeralSecret<C>
[INFO] [stdout] 159 | | where
[INFO] [stdout] 160 | |     C: Curve + ProjectiveArithmetic,
[INFO] [stdout] 161 | |     Scalar<C>: PrimeField<Repr = FieldBytes<C>> + Zeroize,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/mutex.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/sfu.rs:565:21
[INFO] [stdout]     |
[INFO] [stdout] 564 |                 if let Some(outgoing_connection) =
[INFO] [stdout]     |                             -------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `outgoing_connection` calls a custom destructor
[INFO] [stdout]     |                             `outgoing_connection` will be dropped later as of Edition 2024
[INFO] [stdout] 565 |                     sfu.lock().get_connection_from_id(&outgoing_connection_id)
[INFO] [stdout]     |                     ----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 566 |                 {
[INFO] [stdout] 567 |                     let mut outgoing_connection = outgoing_connection.lock();
[INFO] [stdout]     |                         -----------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 577 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/metrics/macros.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let _t = reporter!($name, $options).start_timer();
[INFO] [stdout]     |             --
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_t` calls a custom destructor
[INFO] [stdout]     |             `_t` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.17/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.9.12/src/ecdh.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | / impl<C> Drop for EphemeralSecret<C>
[INFO] [stdout] 159 | | where
[INFO] [stdout] 160 | |     C: Curve + ProjectiveArithmetic,
[INFO] [stdout] 161 | |     Scalar<C>: PrimeField<Repr = FieldBytes<C>> + Zeroize,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/mutex.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `outgoing_connection` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.17/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.4.3/src/lib.rs:523:1
[INFO] [stdout]     |
[INFO] [stdout] 523 | / impl<Z> Drop for Zeroizing<Z>
[INFO] [stdout] 524 | | where
[INFO] [stdout] 525 | |     Z: Zeroize,
[INFO] [stdout]     | |_______________^
[INFO] [stdout] note: `outgoing_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.9.12/src/ecdh.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | / impl<C> Drop for EphemeralSecret<C>
[INFO] [stdout] 159 | | where
[INFO] [stdout] 160 | |     C: Curve + ProjectiveArithmetic,
[INFO] [stdout] 161 | |     Scalar<C>: PrimeField<Repr = FieldBytes<C>> + Zeroize,
[INFO] [stdout]     | |__________________________________________________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/mutex.rs:640:1
[INFO] [stdout]     |
[INFO] [stdout] 640 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sfu.rs:1306:17
[INFO] [stdout]      |
[INFO] [stdout] 1306 |           let _ = tokio::join!(
[INFO] [stdout]      |  _________________^
[INFO] [stdout] 1307 | |             tokio::spawn(client_a(sfu.clone(), count / 2)),
[INFO] [stdout] 1308 | |             tokio::spawn(client_b(sfu.clone(), count / 2)),
[INFO] [stdout] 1309 | |         );
[INFO] [stdout]      | |         ^- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]      |
[INFO] [stdout]  242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::join` which comes from the expansion of the macro `tokio::join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/sfu.rs:1338:17
[INFO] [stdout]      |
[INFO] [stdout] 1338 |           let _ = tokio::join!(
[INFO] [stdout]      |  _________________^
[INFO] [stdout] 1339 | |             tokio::spawn(client_a(sfu.clone(), count / 2)),
[INFO] [stdout] 1340 | |             tokio::spawn(client_b(sfu.clone(), count / 2)),
[INFO] [stdout] 1341 | |         );
[INFO] [stdout]      | |         ^- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]      |
[INFO] [stdout]  242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::join` which comes from the expansion of the macro `tokio::join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/signaling_server.rs:577:34
[INFO] [stdout]     |
[INFO] [stdout] 577 |         let (server_result, _) = tokio::join!(server_handle, closer_handle,);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::join` which comes from the expansion of the macro `tokio::join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/udp_server/epoll.rs:356:43
[INFO] [stdout]      |
[INFO] [stdout]  179 |                   let connections_lock = self.all_connections.read();
[INFO] [stdout]      |                       ----------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `connections_lock` calls a custom destructor
[INFO] [stdout]      |                       `connections_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  223 |                                           let mut write_lock = self.all_connections.write();
[INFO] [stdout]      |                                               --------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               `write_lock` calls a custom destructor
[INFO] [stdout]      |                                               `write_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  234 |                                           write_lock.mark_closed(&addr);
[INFO] [stdout]      |                                           -----------------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  293 |                       let connections_lock = self.all_connections.read();
[INFO] [stdout]      |                           ----------------
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  307 |                                       let mut write_lock = self.all_connections.write();
[INFO] [stdout]      |                                           --------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 |                                       write_lock.mark_closed(&addr);
[INFO] [stdout]      |                                       -----------------------------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  331 |                               let mut write_lock = self.all_connections.write();
[INFO] [stdout]      |                                   --------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  345 |                                               write_lock.mark_closed(&addr);
[INFO] [stdout]      |                                               -----------------------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  356 |                                       match try_scoped(|| {
[INFO] [stdout]      |  ___________________________________________^
[INFO] [stdout]  357 | |                                         let client_socket =
[INFO] [stdout]  358 | |                                             Self::open_socket_with_reusable_port(&self.local_addr)?;
[INFO] [stdout]  359 | |                                         client_socket.connect(addr)?;
[INFO] [stdout]  360 | |                                         self.add_socket_to_poll_for_reads(&client_socket)?;
[INFO] [stdout]  361 | |                                         Ok(client_socket)
[INFO] [stdout]  362 | |                                     }) {
[INFO] [stdout]      | |                                      ^
[INFO] [stdout]      | |                                      |
[INFO] [stdout]      | |______________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  370 |                                           Err(e) => {
[INFO] [stdout]      |                                               -
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               `e` calls a custom destructor
[INFO] [stdout]      |                                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  374 |                                   }
[INFO] [stdout]      |                                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/metrics/macros.rs:184:13
[INFO] [stdout]      |
[INFO] [stdout]  184 |           let _t = reporter!($name, $options).start_timer();
[INFO] [stdout]      |               --
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `_t` calls a custom destructor
[INFO] [stdout]      |               `_t` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]      |
[INFO] [stdout]  565 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connections_lock` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `write_lock` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1294:1
[INFO] [stdout]      |
[INFO] [stdout] 1294 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.5/src/rwlock.rs:1631:1
[INFO] [stdout]      |
[INFO] [stdout] 1631 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.44/src/error.rs:565:1
[INFO] [stdout]      |
[INFO] [stdout]  565 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl serialize::Writer` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]     --> src/dtls.rs:1009:6
[INFO] [stdout]      |
[INFO] [stdout] 1009 | ) -> impl Writer {
[INFO] [stdout]      |      ^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]     --> src/dtls.rs:1007:10
[INFO] [stdout]      |
[INFO] [stdout] 1007 |     key: &[u8; KEY_LEN],
[INFO] [stdout]      |          ^
[INFO] [stdout]      = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]     --> src/dtls.rs:1006:16
[INFO] [stdout]      |
[INFO] [stdout] 1006 |     plaintext: impl Writer,
[INFO] [stdout]      |                ^^^^^^^^^^^
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]      = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]      |
[INFO] [stdout] 1002 ~ fn write_encrypted_record<T: Writer>(
[INFO] [stdout] 1003 |     epoch: u16,
[INFO] [stdout] 1004 |     seqnum: U48,
[INFO] [stdout] 1005 |     record_type: RecordType,
[INFO] [stdout] 1006 ~     plaintext: T,
[INFO] [stdout] 1007 |     key: &[u8; KEY_LEN],
[INFO] [stdout] 1008 |     salt: [u8; SALT_LEN],
[INFO] [stdout] 1009 ~ ) -> impl Writer + use<T> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl serialize::Writer` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/transportcc.rs:194:27
[INFO] [stdout]     |
[INFO] [stdout] 194 | ) -> impl Iterator<Item = impl Writer> + 'a {
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/transportcc.rs:189:23
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub fn write_feedback<'a>(
[INFO] [stdout]     |                       ^^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/transportcc.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |     arrivals: impl Iterator<Item = (FullSequenceNumber, Instant)> + 'a,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 189 ~ pub fn write_feedback<'a, T: Iterator<Item = (FullSequenceNumber, Instant)> + 'a>(
[INFO] [stdout] 190 |     ssrc: u32,
[INFO] [stdout] 191 |     next_feedback_seqnum: &'a mut u8,
[INFO] [stdout] 192 |     epoch: Instant,
[INFO] [stdout] 193 ~     arrivals: T,
[INFO] [stdout] 194 ~ ) -> impl Iterator<Item = impl Writer + use<T>> + 'a {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |           let _ = tokio::join!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 193 | |             signaling_server_handle,
[INFO] [stdout] 194 | |             udp_server_handle,
[INFO] [stdout] 195 | |             metrics_server_handle,
[INFO] [stdout] 196 | |         );
[INFO] [stdout]     | |         ^- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::join` which comes from the expansion of the macro `tokio::join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/main.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |           let _ = tokio::join!(
[INFO] [stdout]     |  _________________^
[INFO] [stdout] 193 | |             signaling_server_handle,
[INFO] [stdout] 194 | |             udp_server_handle,
[INFO] [stdout] 195 | |             metrics_server_handle,
[INFO] [stdout] 196 | |         );
[INFO] [stdout]     | |         ^- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::join` which comes from the expansion of the macro `tokio::join` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.17.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr] crater-edition-check: calling_server v1.3.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling calling_server v1.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/dtls.rs:533:11
[INFO] [stdout]     |
[INFO] [stdout] 533 |     #[cfg(fuzzing)]
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/dtls.rs:422:39
[INFO] [stdout]     |
[INFO] [stdout] 422 | ...                   #[cfg(not(fuzzing))]
[INFO] [stdout]     |                                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/ice.rs:246:11
[INFO] [stdout]     |
[INFO] [stdout] 246 |     #[cfg(fuzzing)]
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:811:7
[INFO] [stdout]     |
[INFO] [stdout] 811 | #[cfg(fuzzing)]
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:816:7
[INFO] [stdout]     |
[INFO] [stdout] 816 | #[cfg(fuzzing)]
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]     --> src/rtp.rs:1021:7
[INFO] [stdout]      |
[INFO] [stdout] 1021 | #[cfg(fuzzing)]
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: consider using a Cargo feature instead
[INFO] [stdout]      = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]               [lints.rust]
[INFO] [stdout]               unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]      = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:922:23
[INFO] [stdout]     |
[INFO] [stdout] 922 |             #[cfg(not(fuzzing))]
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `*`
[INFO] [stdout]    --> src/metrics/macros.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         *,
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/dtls.rs:533:11
[INFO] [stdout]     |
[INFO] [stdout] 533 |     #[cfg(fuzzing)]
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/dtls.rs:422:39
[INFO] [stdout]     |
[INFO] [stdout] 422 | ...                   #[cfg(not(fuzzing))]
[INFO] [stdout]     |                                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/ice.rs:246:11
[INFO] [stdout]     |
[INFO] [stdout] 246 |     #[cfg(fuzzing)]
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:811:7
[INFO] [stdout]     |
[INFO] [stdout] 811 | #[cfg(fuzzing)]
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:816:7
[INFO] [stdout]     |
[INFO] [stdout] 816 | #[cfg(fuzzing)]
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]     --> src/rtp.rs:1021:7
[INFO] [stdout]      |
[INFO] [stdout] 1021 | #[cfg(fuzzing)]
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: consider using a Cargo feature instead
[INFO] [stdout]      = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]               [lints.rust]
[INFO] [stdout]               unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]      = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `fuzzing`
[INFO] [stdout]    --> src/rtp.rs:922:23
[INFO] [stdout]     |
[INFO] [stdout] 922 |             #[cfg(not(fuzzing))]
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(fuzzing)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl serialize::Writer` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/transportcc.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |       pub fn send_acks<'receiver>(
[INFO] [stdout]     |                        --------- hidden type `impl serialize::Writer` captures the lifetime `'receiver` as defined here
[INFO] [stdout] 171 |           &'receiver mut self,
[INFO] [stdout] 172 |       ) -> impl Iterator<Item = impl Writer + use<>> + 'receiver {
[INFO] [stdout]     |                                 ------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 175 | /         write_feedback(
[INFO] [stdout] 176 | |             self.ssrc,
[INFO] [stdout] 177 | |             next_feedback_seqnum,
[INFO] [stdout] 178 | |             self.epoch,
[INFO] [stdout] 179 | |             unacked_arrival_by_seqnum.into_iter(),
[INFO] [stdout] 180 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: add `'receiver` to the `use<...>` bound to explicitly capture it
[INFO] [stdout]     |
[INFO] [stdout] 172 |     ) -> impl Iterator<Item = impl Writer + use<'receiver>> + 'receiver {
[INFO] [stdout]     |                                                 +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl serialize::Writer` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/transportcc.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |       pub fn send_acks<'receiver>(
[INFO] [stdout]     |                        --------- hidden type `impl serialize::Writer` captures the lifetime `'receiver` as defined here
[INFO] [stdout] 171 |           &'receiver mut self,
[INFO] [stdout] 172 |       ) -> impl Iterator<Item = impl Writer + use<>> + 'receiver {
[INFO] [stdout]     |                                 ------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 175 | /         write_feedback(
[INFO] [stdout] 176 | |             self.ssrc,
[INFO] [stdout] 177 | |             next_feedback_seqnum,
[INFO] [stdout] 178 | |             self.epoch,
[INFO] [stdout] 179 | |             unacked_arrival_by_seqnum.into_iter(),
[INFO] [stdout] 180 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: add `'receiver` to the `use<...>` bound to explicitly capture it
[INFO] [stdout]     |
[INFO] [stdout] 172 |     ) -> impl Iterator<Item = impl Writer + use<'receiver>> + 'receiver {
[INFO] [stdout]     |                                                 +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0700`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `calling_server` (lib) due to 1 previous error; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0700`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `calling_server` (lib test) due to 1 previous error; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "0ae8ed44ba5da27456dc280f6eadd4bea47e107aa66badd31a52560e51c7fa3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ae8ed44ba5da27456dc280f6eadd4bea47e107aa66badd31a52560e51c7fa3f", kill_on_drop: false }`
[INFO] [stdout] 0ae8ed44ba5da27456dc280f6eadd4bea47e107aa66badd31a52560e51c7fa3f
